perm filename DDTEST.FAI[D,SYS] blob
sn#226340 filedate 1976-07-17 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE DDTEST
C00008 ENDMK
C⊗;
TITLE DDTEST
A←1
B←2
C←3
D←4
E←5
F←6
CNT←7
MAX←10
P←17
APR←←0
PI←←4
KLPAG←←10
CCA←←14
TIM←←20
DPY←430
DDD←510
MPX←530
VDS←340
DTE0←←200
;KL10 PARAMETERS, ETC.
SWEEPB←←200000 ;KL10 APR CONI BIT - SWEEP BUSY
DTFLG←←444 ;DTE20 OPERATION COMPLETE FLAG
DTF11←←450 ; FROM 11 ARGUMENT
DTCMD←←451 ; TO 11 COMMAND
DONG11←←20000 ;DTE CONO BIT. REQUEST 11 INTERRUPT
;CONI MPX,E
MBUSY←←100 ;BUSY
MINT←←40 ;INTERRUPTING
MNXM←←20 ;NXM
MPARER←←10 ;PARITY ERROR
;7 IS PIA
DEFINE CMDW (O1,D1,O2,D2,O3,D3) <
BYTE (8)D1,D2,D3 (3)O1,O2,O3,4
>
DEFINE LVW (X,Y,BRT,SIZE,M,T) <
BYTE (11)<X>,<Y> (3)BRT,SIZE (2)M,T (4) 6
>
DEFINE SEL (N) <
BYTE (12)4000⊗<-N>,¬<4000⊗<-N>>,10
>
LOC 74
JRST DDT↑
LOC 200
JRST GO
JRST DDT
LOC 1000
GO: MOVE P,[-20,,PDL-1]
CONO APR,200000 ;I/O RESET
CONO PI,10400 ;FLUSH PIS
CONSZ APR,SWEEPB ;WAIT FOR SWEEP BUSY TO FALL
JRST .-1
CONSO KLPAG,600000 ;IS THE CACHE ON ALREADY?
JRST SWP0 ;NO.
BLKO CCA, ;VALIDATE CORE
CONSZ APR,SWEEPB
JRST .-1
SWP0: CONO KLPAG,0 ;TURN OFF CACHE. EPT TO PAGE ZERO. TURN OFF MAP
DATAI CCA,0 ;SWEEP CACHE. INVALIDATE ALL.
CONSZ APR,SWEEPB ;WAIT FOR SWEEP BUSY TO FALL
JRST .-1
CONSZ MPX,MBUSY
JRST .-1
REPEAT 0,<
CONO VDS,7
DATAO VDS,[SETZ]
CONO VDS,6
DATAO VDS,[SETZ] ;SELECT CHANNEL 0 FOR 26 AND 27
CONO DDD,10 ;RESET DATA DISK
CONO DDD,120 ;SET DDGO, FORCE FIELD
DATAO DDD,[DDERAS] ;ERASE
CONSO DDD,10 ;HALTED
JRST .-1
MOVEI MAX,0
LP: SETZM F,CNT
CONO DDD,10 ;RESET
CONO DDD,100 ;SET DDGO
LP1: DATAO DDD,[DDPROG] ;START THE BUGGER
CONO TIM,460000 ;CLEAR UP COUNTER AND DONE AND OVFL. PERIOD←0
LP2: CONSZ DDD,2210 ;NXM,LATE,OR HALT?
JRST DDINT
CONSO TIM,20000 ;INTERVAL TIMER DONE?
JRST LP2 ;NO
ADDI CNT,10000 ;HAVE OVERFLOWED 12 BITS
CONO TIM,20000 ;CLEAR INTERVAL DONE AND OVERFLOW
JRST LP2 ;NO
DDINT: CONI TIM,A ;GET UP COUNTER IN BITS 6-17
LDB A,[POINT 12,A,17] ;EXTRACT UP COUNTER
ADD CNT,A
CAMLE CNT,MAX
MOVE MAX,CNT
CONSO DDD,10
JRST LPLOSE
TRCN F,1
JRST LP1 ;RUN THE OTHER FIELD
BPT: JRST LP
LPLOSE: MOVEI C,7
PUSHJ P,KLTYO
JRST LP
DDERAS: CMDW(1,17,2,0,1,46)
0
DDPROG: CMDW(1,46,2,0,3,2)
CMDW(3,2,4,10,5,0)
ASCID /ABCDE
/
DDEND: 0
REPEAT 100,<0>
>;REPEAT 0
CONO VDS,7
DATAO VDS,[SETZ]
CONO VDS,6
DATAO VDS,[SETZ] ;SELECT CHANNEL 0 FOR 26 AND 27
RELOOP: PUSHJ P,DDSTRT
LOOP1: PUSHJ P,DPSTRT
LOOP: CONSZ MPX,MINT ;IS MPX INTERRUPTING?
JRST MSERV ;YES
CONSZ DDD,10 ;DATA DISK HALTED?
JRST DDHLT ;YES
CONSO DPY,400000 ;III HALTED?
JRST LOOP ;NO
JRST LOOP1
DDHLT: PUSHJ P,DDSTRT
JRST LOOP
MSERV: CONO APR,200000 ;RESET THE WORLD
CONSZ MPX,MBUSY
JRST .-1
JRST RELOOP
DDSTRT: CONO DDD,10 ;RESET
CONO DDD,100 ;SET DDGO
DATAO DDD,[DDPROG] ;START THE DATA DISK UP
POPJ P,
DPSTRT: DATAO DPY,[IIIPRG,,20] ;GIVE THE III IT'S CHANCE
CONO DPY,40 ;AND LET IT CONTINUE
POPJ P,
PDL: BLOCK 20
PATCH: BLOCK 100
DDPROG:
CMDW(1,46,2,0,3,2)
CMDW(3,2,4,10,5,0)
ASCID /HERE IS SOME TEXT FOR THE PURPOSE OF FILLING UP
SOME PART OF A DATADISK SCREEN. ANY UNAUTHORIZED USE OF THIS BROADCAST
WITHOUT THE EXPRESS WRITTEN CONSENT OF THE KL10 IS STRICTLY PROHIBITED.
/
0
REPEAT 100,<0>
IIIPRG: SEL (0)
LVW (-500,500,4,3,1,2)
ASCID /HERE IS SOME TEXT FOR THE PURPOSE OF FILLING UP
SOME PART OF A DATADISK SCREEN. ANY UNAUTHORIZED USE OF THIS BROADCAST
WITHOUT THE EXPRESS WRITTEN CONSENT OF THE KL10 IS STRICTLY PROHIBITED.
/
0
END GO